<!DOCTYPE html>
<html lang="zh-CN">
    <head>
        <meta charset="UTF-8" />
        <title>07_闭包-基本使用3</title>
    </head>
    <body>
        <script>
            // 闭包的产生条件：
            // （1）在外部函数内 要定义一个内部函数
            // （2）内部函数要引用外部函数的局部变量
            // （3）外部函数要返回内部函数的函数体
            // （4）外部函数和内部函数都要调用

            // 闭包的定义
            // 所谓的闭包就是一种引用关系，该引用关系存在于内部函数中
            // 引用的外部函数的局部变量的对象

            function f1(){
                var a = 1;

                function f2(){
                    a++;
                    console.log(a);
                }
                return f2;

            }

            f1()();
            f1()();

            // var result = f1();
            // result();
        </script>
    </body>
</html>